/* 函数-方法
 * 定义一个结构体类型和该类型的一个方法
 *
 * @link: https://www.runoob.com/go/go-method.html
 */

// 包申明
package main

// 引入包
import (
	"fmt"
)

// 定义结构体
type Circle struct {
	radius float64
}

// Go 语言中同时有函数和方法。一个方法就是一个包含了接受者的函数，接受者可以是命名类型或者结构体类型的一个值或者是一个指针。所有给定类型的方法属于该类型的方法集。

// 入口函数
func main() {
	var c1 Circle
	c1.radius = 10.00
	fmt.Println("圆的面积 = ", c1.getArea())
}

func (c Circle) getArea() float64 {
	// c.radius 即为 Circle 类型对象中的属性
	return 3.14 * c.radius * c.radius
}

/*
运行结果:
圆的面积 =  314
*/
